دسته بندی ها
21:58 1400/06/11

اجرای گزارش کریستال ریپورت با کانکشن استرینگ داینامیک

مشخصات سوال کننده :
کاربر : mojtabahakimian     امتیاز کاربر : 155     رتبه کاربر : 10
دسته بندی : سی شارپ WPF Entity Framework کريستال ريپورت

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3470
2 نظر
saedbfd : سوال تکراری هست و قبلا پاسخ داده شده. لطفا از قسمت جست و جو سوال رو پیدا کنید (سوال شما بدلیل تکراری بودن حذف میشه)

امتیاز کاربر : 1664   رتبه کاربر : 1   تاریخ ثبت : 11:25 1400/06/11
mojtabahakimian : لطفا لینک رو میذارید بعد پاک کنید پیداش نکردم

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 00:15 1400/06/12
هوش مصنوعی

پاسخ هوش مصنوعی

برای استفاده از کانکشن استرینگ داینامیک در Crystal Report در یک برنامه WPF، شما می توانید از کد زیر استفاده کنید تا کانکشن استرینگ را به گزارش خود اختصاص دهید.

ابتدا باید اطلاعات کانکشن استرینگ را از برنامه خود دریافت کنید و سپس از آن برای تنظیم کانکشن گزارش استفاده کنید:

using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

// نام فایل گزارش
string reportPath = "مسیر_گزارش.rpt";
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load(reportPath);

// تنظیم کانکشن استرینگ
string serverName = "نام_سرور";
string databaseName = "نام_دیتابیس";
string userId = "نام_کاربری";
string password = "رمزعبور";

ConnectionInfo connectionInfo = new ConnectionInfo
{
    ServerName = serverName,
    DatabaseName = databaseName,
    UserID = userId,
    Password = password
};

// تنظیم کانکشن برای جداول گزارش
foreach (Table table in reportDocument.Database.Tables)
{
    TableLogOnInfo tableLogOnInfo = table.LogOnInfo;
    tableLogOnInfo.ConnectionInfo = connectionInfo;
    table.ApplyLogOnInfo(tableLogOnInfo);
}

// نمایش گزارش در ویو
crystalReportViewer.ReportSource = reportDocument;

در این کد:

  • شما می توانید مسیر گزارش را در متغیر reportPath مشخص کنید.
  • کانکشن استرینگ شامل نام سرور، نام دیتابیس، نام کاربری و رمزعبور است که در ConnectionInfo تنظیم شده است.
  • در حلقه foreach، علاوه بر جداولی که در گزارش وجود دارد، کانکشن جدید اعمال می شود.

اکنون با این تنظیمات، گزارش شما از کانکشن استرینگ داینامیک اطلاعات را دریافت می کند.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 11:20 1400/06/12

نمایش گزارش در کریستال ریپورت با کانکشن استرینگ داینامیک

بررسی شد ظاهرا اون کانکشن استرینگ داینامیک مربوط به استیمول سافت بود نه کریستال ریپورت

نمایش گزارش استیمول سافت روی Client

فیلم آموزش استفاده از استیمول سافت با کانکشن استرینگ داینامیک

در مورد کریستال ریپورت و استفاده از اون در WPF و انتیتی فریم ورک به صورت داینامیک میتونید کدهای زیر رو استفاده کنید. دقت کنید این کدها از یک پروژه کپی و پیست شده و شما ممکنه نیاز باشه قدری تغییرات بدید.

 

private void btnPrint_Click(object sender, RoutedEventArgs e)
{
   string path = System.AppDomain.CurrentDomain.BaseDirectory + "reports\\" + this.Report_Name;
   RD.Load(path);

   //تنظیم اطلاعات ارتباطی با دیتابیس
   ConnectionInfo connectioninfo = new ConnectionInfo();
   connectioninfo.UserID = "DataBaseUserID";
   connectioninfo.DatabaseName = "DataBaseName";
   connectioninfo.Password = "DataBasePassword";
   connectioninfo.ServerName = "ServerName";

   connectioninfo.IntegratedSecurity = false;
   SetDBLoginForReport(connectioninfo, RD);

   CRV.ViewerCore.ReportSource = RD;
}

 

کدهای بالا برای ایجاد یک کانکشن استرینگ داینامیک در کریستال ریپورت در WPF استفاده میشه.

به این پاسخ امتیاز بدهید    1
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود